<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
   <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.js"></script>
   <script type="text/javascript" src="../../proton.js"></script>
</head>

<script type="text/javascript">

var M1 = _p.Root.extend({
    satelliteClasses: {
        Sat1: {
            static: "M1.Sat1",
            f1: function () {
                alert("M1.Sat1.f1");
            }
        },
        Sat2: {
            parent: "Sat1",
            static: "M1.Sat2",
            f1: function () {
                alert("M1.Sat2.f1");
                this._superMethod();
            }
        },
        Sat3: {
            parent: "Sat2",
            static: "M1.Sat3",
            f1: function () {
                alert("M1.Sat3.f1");
                this._superMethod();
            }
        }
    }
});
// /*
var M2 = M1.extend({
    satelliteClasses: {
        Sat1: {
            static: "M2.Sat1",
            f1: function () {
                alert("M2.Sat1");
                this._superMethod();
            }
        },
        Sat2: {
            static: "M2.Sat2",
            f1: function () {
                alert("M2.Sat2.f1");
                this._superMethod();
            }
        },
        Sat3: {
            static: "M2.Sat3",
            f1: function () {
                alert("M2.Sat3.f1");
                this._superMethod();
            }
        }
    }
});
// */
var m1 = new M1();
var m2 = new M2();
//var sat = new m1.satelliteClasses.SatSide();
var sat3 = new m2.satelliteClasses.Sat3();
sat3.f1();

/*
var m2 = new M2();
var sat2 = new m2.satelliteClasses.SatSide();
sat2.f1();
*/
</script>

</body>
</html>